package br.com.infoserver.volatilidade;

/**
 * @author Marcelo A. Filipov (marcelof@infoserver.com.br)
 * @since 14/05/2011
 * 
 */
public enum CalculoPrecoOpcaoValues {

	CALL(1, "call"),
	PUT(2, "put");

	private Integer id;
	private String descricao;

	private CalculoPrecoOpcaoValues(Integer id, String descricao) {
		this.id = id;
		this.descricao = descricao;
	}

	public static String getDescricaoById(Integer id) {
		String descricao = null;
		for (CalculoPrecoOpcaoValues v : values()) {
			if (v.getId().equals(id))
				descricao = v.getDescricao();
		}
		return descricao;
	}
	
	public static Long getId(Long id) {
		Long retorno = null;
		if(id != null){
			for (CalculoPrecoOpcaoValues v : values()) {
				if(v.getId().intValue() == id.intValue())
					retorno = v.getId().longValue(); 
			}
		}
		return retorno;
	}

	public static Integer getId(Integer id) {
		Integer retorno = null;
		for (CalculoPrecoOpcaoValues v : values()) {
			if(v.getId().equals(id))
				retorno = v.getId(); 
		}
		return retorno;
	}
	
	public static String getId(String id) {
		String retorno = null;
		for (CalculoPrecoOpcaoValues v : values()) {
			if(v.getId().toString().equals(id))
				retorno = v.getId().toString(); 
		}
		return retorno;
	}
	
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

}
